package kr.hkit.powerjava.chapter24.work2.service;

import java.util.Comparator;
import java.util.Scanner;

import kr.hkit.powerjava.chapter22.work2.vo.Department;
import kr.hkit.powerjava.chapter24.work2.dao.InterfaceDao;


public class DepartmentService extends ServiceItem<Department> {

	public DepartmentService(InterfaceDao<Department> dao, Scanner sc) {
		super(dao, sc);
	}
	@Override
	public Department inputItemInfo(boolean gubun) {
		System.out.println("부서번호 부서명");
		int num = sc.nextInt();
		String name = sc.next();

		if (gubun) {
			System.out.println("위치");
			int floor = sc.nextInt();
			return new Department(num, name, floor);
		} else {
			return new Department(num, name);
		}
	}

	@Override
	public void prnSubMenu() {
		System.out.print("1.이름순 2.위치별 3.번호순");
		int res = sc.nextInt();
		switch (res) {
			case 1:
				dao.prnItemList(new Comparator<Department>() {
					@Override
					public int compare(Department o1, Department o2) {
						return o1.getDeptName().hashCode()
								- o2.getDeptName().hashCode();
					}
				});
				break;
			case 2:
				dao.prnItemList(new Comparator<Department>() {
					@Override
					public int compare(Department o1, Department o2) {
						return o1.getFloor() - o2.getFloor();
					}
				});
				break;
			case 3:
				dao.prnItemList(null);
				break;
			default:
				dao.prnItemList(null);
		}
	}	
}


